package com.aierkeji.call.cms.util;

import org.springframework.util.CollectionUtils;

import javax.servlet.http.HttpServletRequest;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

public class WebUtils extends org.springframework.web.util.WebUtils {
	
	@SuppressWarnings("unchecked")
	public static <V> V getParamsInMap(Map<String,Object> map,String key,Class<V> clazz){
		if(map != null){
			Object o = map.get(key);
			if(clazz.isInstance(o)){
				return (V) o;
			}
		}
		return null;
	}
	
	public static Map<String,Object> getParamsMap(HttpServletRequest request){
		Map<String, String[]> oMap = request.getParameterMap();
		Map<String,Object> result = new HashMap<>();
		for (String paramName : oMap.keySet()) {
			if(oMap.get(paramName) != null && oMap.get(paramName).length > 0){
				result.put(paramName, oMap.get(paramName)[0]);
			}
		}
		return result;
	}
	
	
	public static String getParamsInMap(Map<String,String> map,String key){
		if(map != null){
			return map.get(key);
		}
		return null;
	}

	public static boolean checkParamsIsNull(Object...objs){
		for(Object obj:objs){
			if(obj == null){
				return true;
			}
			if(obj instanceof String){
				if(StringUtils.isBlank(obj.toString())){
					return true;
				}
			}
			if(obj instanceof Collection){
				if(CollectionUtils.isEmpty((Collection<?>) obj)){
					return true;
				}
			}
		}
		return false;
	}
	
}
